/**************************************************************************
	Replication do-file: "Corruption in Customs"
	Cyril Chalendard, Ana Fernandes, Gael Raballand and Bob Rijkers
	
	Created on: 01/07/2022
**************************************************************************/

clear all
set more off, perm
cap log close
cls

* ----------------------- DIRECTORIES AND FOLDERS ----------------------- *

* Directories in which data are stored
global main "PUT YOUR DIRECTORY PATH HERE"
cd "$folder"

* Folders
global outputdata = "$main\Output Data"
cap mkdir "$main\Tables"
global tables = "$main\Tables"

* ----------------------------- BEGINS HERE ----------------------------- *

* -------
* Dataset
* -------
use "$outputdata\CFRR.dta", clear // open dataset


* -------
* Table 7
* -------

* Globals
global dep "ln_time fraud c1_dlog_val c1_dlog_tax htrl_f_int"
global controls "tax_rate risk red_i mixed_dec differentiated valitrade_advice"

* Matrix
forvalues x = 1(1)3 {
	mat table7_`x' = J(4,5,.)
	mat table7_`x'T = J(1,5,.)
}
mat table7_4 = J(8,5,.)
mat table7_4T = J(1,5,.)

* Loop for estimations
** Panel A
local i = 1
local j = 1
foreach x in $dep {

	qui: reghdfe `x' wfr $controls countryorig* max_twodigit* if sample_int==1 & wfr!=. , absorb(insp_f key_dec ym_*) vce(cluster insp_f key_dec)

	mat table7_1[`i',`j'] = _b[wfr]
	local i = `i' + 1
	mat table7_1[`i',`j'] = _se[wfr]
	mat table7_1T[1,`j'] = e(N)
	local i = `i' + 2
	mat table7_1[`i',`j'] = e(r2)
	local i = `i' -3
	local j = `j' +1
}
** Panel B
local i = 1
local j = 1
foreach x in $dep {

	qui: reghdfe `x' eis_nowfr_f $controls countryorig* max_twodigit* if sample_int==1 & wfr==0 , absorb(insp_f key_dec ym_*) vce(cluster insp_f key_dec)

	mat table7_2[`i',`j'] = _b[eis_nowfr_f]
	local i = `i' + 1
	mat table7_2[`i',`j'] = _se[eis_nowfr_f]
	mat table7_2T[1,`j'] = e(N)
	local i = `i' + 2
	mat table7_2[`i',`j'] = e(r2)
	local i = `i' -3
	local j = `j' +1
}
** Panel C
local i = 1
local j = 1
foreach x in $dep {

	qui: reghdfe `x' eis_f $controls countryorig* max_twodigit* if sample_int==1 & wfr!=. , absorb(insp_f key_dec ym_*) vce(cluster insp_f key_dec)

	mat table7_3[`i',`j'] = _b[eis_f]
	local i = `i' + 1
	mat table7_3[`i',`j'] = _se[eis_f]
	mat table7_3T[1,`j'] = e(N)
	local i = `i' + 2
	mat table7_3[`i',`j'] = e(r2)
	local i = `i' -3
	local j = `j' +1
}
** Panel D
local i = 1
local j = 1
foreach x in $dep {
	
	qui: reghdfe `x' wfr eis_f wfr_eis_f $controls countryorig* max_twodigit* if sample_int==1 & wfr!=. , absorb(insp_f key_dec ym_*) vce(cluster insp_f key_dec)

	mat table7_4[`i',`j'] = _b[wfr]
	local i = `i' + 1
	mat table7_4[`i',`j'] = _se[wfr]
	local i = `i' + 1
	mat table7_4[`i',`j'] = _b[eis_f]
	local i = `i' + 1
	mat table7_4[`i',`j'] = _se[eis_f]
	local i = `i' + 1
	mat table7_4[`i',`j'] = _b[wfr_eis_f]
	local i = `i' + 1
	mat table7_4[`i',`j'] = _se[wfr_eis_f]
	mat table7_4T[1,`j'] = e(N)
	local i = `i' + 2
	mat table7_4[`i',`j'] = e(r2)
	local i = `i' -7
	local j = `j' +1
}


* Export
* ------
putexcel set "$tables\Table 7.xlsx", replace sheet(Table7) // create a new excel spreadsheet

* Title
putexcel (A1:F1), merge hcenter vcenter
putexcel A1 = "During delegated randomization of inspector assignment"

* Dependent variables
putexcel A2 = "Dependent variable:", left vcenter bold
local cells `" "B" "C" "D" "E" "F" "'
local labels `" "Time" "Fraud" "\Delta log value" "\Delta log tax" "Hyp. tax revenue losses" "'
forvalues i = 1(1)5 {

	local x: word `i' of `labels'
	local y: word `i' of `cells'

	putexcel `y'2 = "`x'", hcenter vcenter bold	
}

* Panels
** Name
local cells `" "4" "11" "18" "25" "'
local labels `" "A. Withheld from randomization" "B. Random excess interaction share - delegated randomized declarations only" "C. Excess interaction share" "D. Excess interaction share and declarations withheld from randomization (and their interaction)" "'
forvalues i = 1(1)4 {

	local x: word `i' of `labels'
	local y: word `i' of `cells'

	putexcel (A`y':F`y'), merge hcenter vcenter bold
	putexcel A`y' = "`x'"
}
** Idependent variables
local cells `" "6" "13" "20" "27" "29" "31" "'
local labels `" "Withheld from randomization (WFR)" "Random excess interaction share" "Excess interaction share" "Excess interaction share" "Withheld from randomization (WFR)" "WFR*Excess interaction share" "'
forvalues i = 1(1)6 {

	local x: word `i' of `labels'
	local y: word `i' of `cells'

	putexcel A`y' = "`x'", left vcenter
}
** Coefficients
local i = 1
forvalues x = 6(7)27 {
	
	putexcel B`x' = matrix(table7_`i'), nformat(0.000) hcenter vcenter
	local i = `i' +1
}
** Observations
local i = 1
foreach x in 8 15 22 33 {
	putexcel A`x' = "Observations", left vcenter
	putexcel B`x' = matrix(table7_`i'T), nformat(number_sep) hcenter vcenter
	local i = `i' +1
}
** R2
foreach x in 9 16 23 34 {
	putexcel A`x' = "R-squared", left vcenter
}
** Column numbers
global cells "B C D E F B C D E F B C D E F B C D E F"
forvalues i = 1(1)20 {
	
	local y: word `i' of $cells

	if `i' < 6 {
		putexcel `y'5 = "(`i')", hcenter vcenter
	}
	
	if `i' > 5 & `i' < 11 {
		putexcel `y'12 = "(`i')", hcenter vcenter
	}
	
	if `i' > 10 & `i' < 16 {
		putexcel `y'19 = "(`i')", hcenter vcenter
	}
	
	if `i' > 15 {
		putexcel `y'26 = "(`i')", hcenter vcenter
	}
}
macro drop cells


* -------------------------------- ENDS HERE -------------------------------- *